In certain contexts, such as help systems for software applications, where information is presented to a user of a computer system, the information discusses the state of the machine. For example, when a user inquires as to how to change a specific setting for a printer attached to a printer running an operating system, the operating system's associated help system may provide the user with help information regarding changing the setting. The help content presented may require the user to have knowledge about and understand details about the setup and current functioning of the user's computer system. For example, the help content may ask how the printer is attached (e.g. local or networked), what version of some software application is running on the user's computer, or other details dependent on the setup and functioning of the user's computer, and may guide the user based on the answers to these questions. Providing help information in the alternative based on some detail of the user's computer system may be done by including all the information in the help content (e.g. “if the printer is a networked printer” will be followed by directions on changing the setting for a networked printer, but the same help screen may include “if the printer is a local printer” and directions on changing the setting for a local printer.) Providing help information in the alternative may also be accomplished by requesting that the user make a selection (e.g. “is the printer a networked or local printer?”) and then presenting the applicable help information to the user.
In either instance, the user in such a situation is required to have some sophistication in knowing the setup of their computer system and the current state of the computer system. This requirement produces some confusion and dissatisfaction with less sophisticated users and requires additional time for even sophisticated users who are consulting the help system.
Additionally, help information may be related to certain higher-level tasks which are the domain of a computer system administrator, and not the lay user. This help information should riot be viewable by the lay user.
In prior art help systems, state-dependent content could be viewed, however, the functionality for providing this adaptable content had to be built into the application which was being queried used for the content. This introduced some security concerns, because a viewer could be modified to allow a user to view content which the user should not view. Additionally, having the viewer determine which content should be displayed requires the viewer to access certain state information about the computer system, which may introduce privacy concerns and complexity. An additional drawback is that each viewer would need identical functionality to view some item of content or the content could not be reused.
Thus, there is a need for a system and method to overcome these deficits in the prior art. The present invention addresses the aforementioned needs and solves them with additional advantages as expressed herein.